<?php

namespace Alter\HominemBundle\Controller;

use Symfony\Component\DependencyInjection\ContainerAware;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;

use Alter\HominemBundle\Form\LivredorForm;
use Alter\HominemBundle\Entity\Livredor;

class LivredorController extends ContainerAware
{
    public function afficherAction()
    {        
	$em = $this->container->get('doctrine')->getEntityManager();

	$livredor= $em->getRepository('AlterHominemBundle:Livredor')->findAll();

	return $this->container->get('templating')->renderResponse('AlterHominemBundle:Livredor:afficher.html.twig', 
	array(
	'livredor' => $livredor
 	));
     }
    
 


    public function editerAction($id = null)
    {
	$message='';
	$em = $this->container->get('doctrine')->getEntityManager();

	if (isset($id)) 
	{
		// modification d'une livredor existante : on recherche ses données
		$livredor = $em->find('AlterHominemBundle:Livredor', $id);

		if (!$livredor)
		{
			$message='Aucune livredor trouvée';
		}
	}
	else 
	{
		// ajout d'un nouvel acteur
		$livredor = new Livredor();
	}

	$form = $this->container->get('form.factory')->create(new LivredorForm(), $livredor);

	$request = $this->container->get('request');


	if ($request->getMethod() == 'POST') 
	{
    	  	$form->bindRequest($request);

           if ($form->isValid()) 
	   {
		$em->persist($livredor);
		$em->flush();
		if (isset($id)) 
		{
			$message='Livredor modifiée avec succès !';
		}
		else 
		{
			$message='Livredor ajoutée avec succès !';
		}
	   }
	}

	return $this->container->get('templating')->renderResponse(
'AlterHominemBundle:Livredor:editer.html.twig',
	array(
	'form' => $form->createView(),
	'message' => $message,
	));
    }


  public function supprimerAction($id)
  {
    $em = $this->container->get('doctrine')->getEntityManager();
    $livredor = $em->find('AlterHominemBundle:Livredor', $id);
        
    if (!$livredor) 
    {
      throw new NotFoundHttpException("Livredor non trouvée");
    }
        
    $em->remove($livredor);
    $em->flush();        


    return new RedirectResponse($this->container->get('router')->generate('livredor'));
}
}

